package CONTABILIDAD_MODELO;

import Conexion.Conexion;
import java.sql.SQLException;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;

import java.util.Date;

import java.util.List;

public class CON_COMPROBANTE_REDONDEO {

    private Double ID;
    private Double ID_COMPROBANTE;
    private String GLOSA;
    private Double CUENTA_DEBE;
    private Double CUENTA_HABER;
    private Conexion con = null;

    public CON_COMPROBANTE_REDONDEO() {
    }

    public boolean EliminarXComprobante(double id_comprobante) throws SQLException{
            String consulta = "delete from BROKER.CON_COMPROBANTE_REDONDEO where ID_COMPROBANTE = "+id_comprobante;
            con.EjecutarSentencia(consulta);
            return true;
	}
    
    public CON_COMPROBANTE_REDONDEO(Double ID, String GLOSA, Double CUENTA_DEBE, Double CUENTA_HABER, Double ID_COMPROBANTE) {
        this.ID = ID;
        this.GLOSA = GLOSA;
        this.CUENTA_DEBE = CUENTA_DEBE;
        this.CUENTA_HABER = CUENTA_HABER;
        this.ID_COMPROBANTE = ID_COMPROBANTE;
    }

    public boolean Insertar() {
        try {
            String consulta = "insert into BROKER.CON_COMPROBANTE_REDONDEO(ID, GLOSA, CUENTA_DEBE, CUENTA_HABER, ID_COMPROBANTE) VALUES (" + ID + ",'" + GLOSA + "'," + CUENTA_DEBE + "," + CUENTA_HABER + ", "+ID_COMPROBANTE+")";
            con.EjecutarSentencia(consulta);
            return true;
        } catch (Exception e) {
            e.printStackTrace();
            return false;
        }
    }
    
    public boolean update(Double id) throws SQLException {
        String consulta = "update BROKER.CON_COMPROBANTE_REDONDEO set GLOSA = '"+GLOSA+"', CUENTA_DEBE = "+CUENTA_DEBE+", CUENTA_HABER = "+CUENTA_HABER+" where ID_COMPROBANTE = "+id;
        con.EjecutarSentencia(consulta);
        return true;
    }

    public boolean EliminarXid() {
        try {
            String consulta = "delete from BROKER.CON_COMPROBANTE_REDONDEO ";
            con.EjecutarSentencia(consulta);
            return true;
        } catch (Exception e) {
            e.printStackTrace();
            return false;
        }
    }

    public List<CON_COMPROBANTE_REDONDEO> Todos() {
        try {
            String consulta = "select * from BROKER.CON_COMPROBANTE_REDONDEO";
            ResultSet rs = con.EjecutarConsulta(consulta);
            return Cargar(rs);
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }

    public List<CON_COMPROBANTE_REDONDEO> Cargar(ResultSet rs) {
        try {
            List<CON_COMPROBANTE_REDONDEO> lista = new ArrayList<CON_COMPROBANTE_REDONDEO>();
            while (rs.next()) {
                CON_COMPROBANTE_REDONDEO objeto = new CON_COMPROBANTE_REDONDEO();
                objeto.setID(rs.getDouble("ID"));
                objeto.setGLOSA(rs.getString("GLOSA"));
                objeto.setCUENTA_DEBE(rs.getDouble("CUENTA_DEBE"));
                objeto.setCUENTA_HABER(rs.getDouble("CUENTA_HABER"));
                objeto.setID_COMPROBANTE(rs.getDouble("ID_COMPROBANTE"));
                objeto.setCon(con);
                lista.add(objeto);
            }
            return lista;
        } catch (SQLException ex) {
            ex.printStackTrace();
            return null;
        }
    }

    public double getID() {
        return ID;
    }

    public void setID(double ID) {
        this.ID = ID;
    }

    public String getGLOSA() {
        return GLOSA;
    }

    public void setGLOSA(String GLOSA) {
        this.GLOSA = GLOSA;
    }

    public double getCUENTA_DEBE() {
        return CUENTA_DEBE;
    }

    public void setCUENTA_DEBE(double CUENTA_DEBE) {
        this.CUENTA_DEBE = CUENTA_DEBE;
    }

    public double getCUENTA_HABER() {
        return CUENTA_HABER;
    }

    public void setCUENTA_HABER(double CUENTA_HABER) {
        this.CUENTA_HABER = CUENTA_HABER;
    }

    public Conexion getCon() {
        return this.con;
    }

    public void setCon(Conexion con) {
        this.con = con;
    }

    public Double getID_COMPROBANTE() {
        return ID_COMPROBANTE;
    }

    public void setID_COMPROBANTE(Double ID_COMPROBANTE) {
        this.ID_COMPROBANTE = ID_COMPROBANTE;
    }        
}
